package com.example.springboot.search.service;

import com.example.springboot.search.entity.dto.QueryDataDto;
import com.example.springboot.search.entity.dto.QueryDataVo;

import java.util.List;
import java.util.Map;

public interface BaseService {

	/**
	 * 分页查询特征数据
	 * 
	 * @param queryDataDto
	 * @return
	 * @throws Exception
	 */
	public QueryDataVo<List<Map<String, Object>>> queryBaseByPage(QueryDataDto queryDataDto) throws Exception;

	/**
	 * 查询特征数据
	 * 
	 * @param queryDataDto
	 * @return
	 * @throws Exception
	 */
	public QueryDataVo<List<Map<String, Object>>> queryBaseList(QueryDataDto queryDataDto) throws Exception;

	/**
	 * 
	 * @param queryDataDto
	 *            :分页查询查询条件
	 * @param resourceType
	 *            :根据ResourceType的类型查询（实名/终端mac/热点mac/虚拟省份/车牌/imsi/imei/人脸等）
	 * @return
	 * @throws Exception
	 */
	public QueryDataVo<List<Map<String, Object>>> queryLogByPage(QueryDataDto queryDataDto) throws Exception;

	/**
	 * 查询所有，不分页
	 * 
	 * @param queryDataDto
	 * @return
	 * @throws Exception
	 */
	public QueryDataVo<List<Map<String, Object>>> queryLogList(QueryDataDto queryDataDto) throws Exception;

	/**
	 * 根据id查询单条数据
	 * 
	 * @param queryDataDto
	 * @return
	 * @throws Exception
	 */
	public QueryDataVo<Map<String, Object>> queryById(QueryDataDto queryDataDto) throws Exception;

	/**
	 * 查询总数
	 * 
	 * @param queryDataDto
	 * @return
	 * @throws Exception
	 */
	public QueryDataVo<List<Map<String, Object>>> queryTotal(QueryDataDto queryDataDto) throws Exception;

}
